﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Landscape.Business.Entities
{
    public class ActionResponse
    {
        public ActionResponse()
        {
            this.ID = Guid.Empty;
            this.Attachments = new List<FileAttachment>();
            this.Status = ActionResponseStatus.NEW;
            this.CreatedDate = DateTime.Now;
            this.UpdatedDate = DateTime.Now;
            this.IsDeleted = false;
        }

        public virtual Guid ID
        { get; set; }

        public virtual string Response
        { get; set; }

        public virtual Guid ResponseBy
        { get; set; }

        public virtual DateTime ResponseDate
        { get; set; }

        public virtual bool IsResponseReleased
        { get; set; }

        public virtual int ResponseIndex
        { get; set; }
                
        public virtual IList<FileAttachment> Attachments
        { get; set; }

        public virtual ActionResponseStatus Status
        { get; set; }

        public virtual Guid ReviewCommentsBy
        { get; set; }

        public virtual string ReviewerComments
        { get; set; }

        public virtual string ReviewStatus
        { get; set; }

        public virtual DateTime ReviewDate
        { get; set; }

        public virtual bool IsReviewReleased
        { get; set; }

        public virtual Guid HseqCommentsBy
        { get; set; }

        public virtual string HseqComments
        { get; set; }

        public virtual string HseqApprovalStatus
        { get; set; }

        public virtual DateTime HseqApprovalDate
        { get; set; }

        public virtual bool IsHseqApprovalReleased
        { get; set; }

        public virtual Guid OdCommentsBy
        { get; set; }

        public virtual string OdComments
        { get; set; }

        public virtual string OdApprovalStatus
        { get; set; }

        public virtual DateTime OdApprovalDate
        { get; set; }

        public virtual bool IsOdApprovalReleased
        { get; set; }

        public virtual bool IsDeleted
        { get; set; }

        public virtual Guid CreatedBy
        { get; set; }

        public virtual DateTime CreatedDate
        { get; set; }

        public virtual Guid UpdatedBy
        { get; set; }

        public virtual DateTime UpdatedDate
        { get; set; }
    }
}
